java software c++ train development radius3 .net change management rail railway application requirements engineering j2ee rail practice lead software development railroad requirements management it-consulting thin-client praxis critical systems